[INFO] cloning repository https://github.com/nikeedev/rs-opengl
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nikeedev/rs-opengl" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnikeedev%2Frs-opengl", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnikeedev%2Frs-opengl'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8da63d7038ca931c86b605e4606a6ac74325717a
[INFO] checking nikeedev/rs-opengl against master#4eb62535fc12dd1a63fd43a4173e224e79313c4d for pr-158816
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnikeedev%2Frs-opengl" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/nikeedev/rs-opengl
[INFO] finished tweaking git repo https://github.com/nikeedev/rs-opengl
[INFO] tweaked toml for git repo https://github.com/nikeedev/rs-opengl written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/nikeedev/rs-opengl on toolchain 4eb62535fc12dd1a63fd43a4173e224e79313c4d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/nikeedev/rs-opengl already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded glow v0.13.0
[INFO] [stderr]   Downloaded glfw v0.53.0
[INFO] [stderr]   Downloaded web-sys v0.3.65
[INFO] [stderr]   Downloaded glfw-sys v4.0.0+3.3.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ebb0a36ef4a1e9b66af92a9eed769764412ebe4c6b1fb32058dddc4f395490fd
[INFO] running `Command { std: "docker" "start" "ebb0a36ef4a1e9b66af92a9eed769764412ebe4c6b1fb32058dddc4f395490fd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ebb0a36ef4a1e9b66af92a9eed769764412ebe4c6b1fb32058dddc4f395490fd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ebb0a36ef4a1e9b66af92a9eed769764412ebe4c6b1fb32058dddc4f395490fd" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ebb0a36ef4a1e9b66af92a9eed769764412ebe4c6b1fb32058dddc4f395490fd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ebb0a36ef4a1e9b66af92a9eed769764412ebe4c6b1fb32058dddc4f395490fd" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.149
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling xml-rs v0.8.19
[INFO] [stderr]    Compiling cgmath v0.18.0
[INFO] [stderr]     Checking glow v0.13.0
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling gl v0.14.0
[INFO] [stderr]    Compiling cmake v0.1.50
[INFO] [stderr]     Checking approx v0.4.0
[INFO] [stderr]    Compiling glfw-sys v4.0.0+3.3.5
[INFO] [stderr]     Checking glfw v0.53.0
[INFO] [stderr]     Checking rs-opengl v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::ffi::CString`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ffi::CString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[ignore]` attribute cannot be used on use statements
[INFO] [stdout]  --> src/shader.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[ignore]
[INFO] [stdout]   | ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: `#[ignore]` can only be applied to functions
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ffi::CString`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ffi::CString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[ignore]` attribute cannot be used on use statements
[INFO] [stdout]  --> src/shader.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[ignore]
[INFO] [stdout]   | ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: `#[ignore]` can only be applied to functions
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `VS_SRC` is never used
[INFO] [stdout]   --> src/main.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | static VS_SRC: &'static str = "
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `FS_SRC` is never used
[INFO] [stdout]   --> src/main.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | static FS_SRC: &'static str = "
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `ID` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub ID: u32,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vertexPath` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(vertexPath: &str, fragmentPath: &str) -> Shader {
[INFO] [stdout]    |                ^^^^^^^^^^ help: convert the identifier to snake case: `vertex_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fragmentPath` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:22:34
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(vertexPath: &str, fragmentPath: &str) -> Shader {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^ help: convert the identifier to snake case: `fragment_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vShaderFile` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut vShaderFile = File::open(vertexPath)
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `v_shader_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fShaderFile` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut fShaderFile = File::open(fragmentPath)
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `f_shader_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vertexCode` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let mut vertexCode = String::new();
[INFO] [stdout]    |                 ^^^^^^^^^^ help: convert the identifier to snake case: `vertex_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fragmentCode` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let mut fragmentCode = String::new();
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `fragment_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vShaderCode` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let vShaderCode = CString::new(vertexCode.as_bytes()).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^ help: convert the identifier to snake case: `v_shader_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fShaderCode` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let fShaderCode = CString::new(fragmentCode.as_bytes()).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^ help: convert the identifier to snake case: `f_shader_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ID` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |             let ID = gl::CreateProgram();
[INFO] [stdout]    |                 ^^ help: convert the identifier to snake case: `id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `useProgram` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:70:19
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub unsafe fn useProgram(&self) {
[INFO] [stdout]    |                   ^^^^^^^^^^ help: convert the identifier to snake case: `use_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setBool` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:76:19
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub unsafe fn setBool(&self, name: &CStr, value: bool) {
[INFO] [stdout]    |                   ^^^^^^^ help: convert the identifier to snake case: `set_bool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setInt` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:80:19
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub unsafe fn setInt(&self, name: &CStr, value: i32) {
[INFO] [stdout]    |                   ^^^^^^ help: convert the identifier to snake case: `set_int`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setFloat` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:84:19
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub unsafe fn setFloat(&self, name: &CStr, value: f32) {
[INFO] [stdout]    |                   ^^^^^^^^ help: convert the identifier to snake case: `set_float`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setVector3` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:88:19
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub unsafe fn setVector3(&self, name: &CStr, value: &Vector3<f32>) {
[INFO] [stdout]    |                   ^^^^^^^^^^ help: convert the identifier to snake case: `set_vector3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setVec3` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:92:19
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub unsafe fn setVec3(&self, name: &CStr, x: f32, y: f32, z: f32) {
[INFO] [stdout]    |                   ^^^^^^^ help: convert the identifier to snake case: `set_vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setMat4` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:96:19
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub unsafe fn setMat4(&self, name: &CStr, mat: &Matrix4<f32>) {
[INFO] [stdout]    |                   ^^^^^^^ help: convert the identifier to snake case: `set_mat4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `VS_SRC` is never used
[INFO] [stdout]   --> src/main.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | static VS_SRC: &'static str = "
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `FS_SRC` is never used
[INFO] [stdout]   --> src/main.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | static FS_SRC: &'static str = "
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `ID` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub ID: u32,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vertexPath` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(vertexPath: &str, fragmentPath: &str) -> Shader {
[INFO] [stdout]    |                ^^^^^^^^^^ help: convert the identifier to snake case: `vertex_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fragmentPath` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:22:34
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(vertexPath: &str, fragmentPath: &str) -> Shader {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^ help: convert the identifier to snake case: `fragment_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vShaderFile` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut vShaderFile = File::open(vertexPath)
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `v_shader_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fShaderFile` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let mut fShaderFile = File::open(fragmentPath)
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `f_shader_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vertexCode` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let mut vertexCode = String::new();
[INFO] [stdout]    |                 ^^^^^^^^^^ help: convert the identifier to snake case: `vertex_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fragmentCode` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let mut fragmentCode = String::new();
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: convert the identifier to snake case: `fragment_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vShaderCode` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let vShaderCode = CString::new(vertexCode.as_bytes()).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^ help: convert the identifier to snake case: `v_shader_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fShaderCode` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let fShaderCode = CString::new(fragmentCode.as_bytes()).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^ help: convert the identifier to snake case: `f_shader_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ID` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |             let ID = gl::CreateProgram();
[INFO] [stdout]    |                 ^^ help: convert the identifier to snake case: `id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `useProgram` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:70:19
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub unsafe fn useProgram(&self) {
[INFO] [stdout]    |                   ^^^^^^^^^^ help: convert the identifier to snake case: `use_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setBool` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:76:19
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub unsafe fn setBool(&self, name: &CStr, value: bool) {
[INFO] [stdout]    |                   ^^^^^^^ help: convert the identifier to snake case: `set_bool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setInt` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:80:19
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub unsafe fn setInt(&self, name: &CStr, value: i32) {
[INFO] [stdout]    |                   ^^^^^^ help: convert the identifier to snake case: `set_int`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setFloat` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:84:19
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub unsafe fn setFloat(&self, name: &CStr, value: f32) {
[INFO] [stdout]    |                   ^^^^^^^^ help: convert the identifier to snake case: `set_float`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setVector3` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:88:19
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub unsafe fn setVector3(&self, name: &CStr, value: &Vector3<f32>) {
[INFO] [stdout]    |                   ^^^^^^^^^^ help: convert the identifier to snake case: `set_vector3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setVec3` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:92:19
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub unsafe fn setVec3(&self, name: &CStr, x: f32, y: f32, z: f32) {
[INFO] [stdout]    |                   ^^^^^^^ help: convert the identifier to snake case: `set_vec3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setMat4` should have a snake case name
[INFO] [stdout]   --> src/shader.rs:96:19
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub unsafe fn setMat4(&self, name: &CStr, mat: &Matrix4<f32>) {
[INFO] [stdout]    |                   ^^^^^^^ help: convert the identifier to snake case: `set_mat4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.89s
[INFO] running `Command { std: "docker" "inspect" "ebb0a36ef4a1e9b66af92a9eed769764412ebe4c6b1fb32058dddc4f395490fd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ebb0a36ef4a1e9b66af92a9eed769764412ebe4c6b1fb32058dddc4f395490fd", kill_on_drop: false }`
[INFO] [stdout] ebb0a36ef4a1e9b66af92a9eed769764412ebe4c6b1fb32058dddc4f395490fd
